"""
注意事项和细节：
1、函数作为参数传递，传递的不是数据，而是业务处理逻辑
2、一个函数，可以接收多个函数作为参数传递
"""


# 定义一个函数，可以返回两个数的最大值
def get_max_val(num1, num2):
    return num1 if num1 > num2 else num2


def f1(fun, num1, num2):
    """
    功能：调用 fun 返回 num1 和 num2 的最大值
    :param fun: 函数
    :param num1: 第一个值
    :param num2: 第二个值
    :return: 最大值
    """
    return fun(num1, num2)


def f2(fun, num1, num2):
    return num1 + num2, fun(num1, num2)


# 测试
print(f"最大值：{f1(get_max_val, 1, 2)}")
x, y = f2(get_max_val, 10, 20)

print(f"和：{x}, 最大值：{y}")
